/*
***** BEGIN LICENSE BLOCK *****

This file is part of the EPI (Erlang Plus Interface) Library.

Copyright (C) 2005 Hector Rivas Gandara <keymon@gmail.com>

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

***** END LICENSE BLOCK *****
*/

#include "Config.hpp" // Main config file

#include <sstream>

#include "EpiError.hpp"
#include "EpiNode.hpp"
#include "EpiConnection.hpp"
#include "EpiBuffer.hpp"
#include "EpiUtil.hpp"

using namespace epi::error;
using namespace epi::node;
using namespace epi::util;

Connection::Connection( PeerNode * peer, std::string cookie ):
        mPeer(peer), mCookie(cookie)
{}

Connection::~ Connection( )
{
}

std::string Connection::getCookie() const {
    return mCookie;
}

PeerNode *Connection::getPeer() {
    return mPeer.get();
}

void Connection::setReceiver(EpiReceiver *receiver) {
    mReceiver = receiver;
}

void Connection::deliver( void *origin, EpiMessage * msg ) {
    // Forward it to receiver
    mReceiver->deliver(origin, msg);
}


